exports.isMobile = (ctx) => {
	const source = ctx.get('user-agent') || '';
	let isMobile = false;
	if (/mobile|android|iphone|ipad|phone/i.test(source)) {
		isMobile = true;
	}
	return isMobile;
};

exports.parseCookie = (ctx) => {
	let cookies = ctx.get('cookie');
	if (!cookies) {
		return [];
	}
	cookies = cookies.split(';');
	const res = {};
	for (const item of cookies) {
		const kv = item.split('=');
		if (kv && kv.length > 0) {
			res[kv[0].trim()] = decodeURIComponent(kv[1]);
		}
	}
	return res;
};

exports.parseNavLang = (ctx) => {
	// 服务端无法获取navigator.language，所以只能通过Accept-Language来判断浏览器语言。
	let navigatorLang;
	const clientLang = ctx.get('Accept-Language');
	if (clientLang.startsWith('zh')) {
		navigatorLang = 'zh-CN';
	} else if (clientLang.startsWith('en')) {
		navigatorLang = 'en-US';
	}
	return navigatorLang;
};
